package com.jnetwork.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;

import com.jnetwork.exception.DAOExcepcion;
import com.jnetwork.modelo.Idea;
import com.jnetwork.modelo.Usuario;
import com.jnetwork.util.ConexionBD;

public class CobranzasDAO extends BaseDAO{

	
	public Collection<Idea> obtenerReporte(Integer centroInfoId, Date fechaInicio, Date fechaFin, double precio) throws DAOExcepcion {
        

        Collection<Idea> c = new ArrayList<Idea>();
        Connection con = null;
        PreparedStatement stmt = null;
        ResultSet rs = null;
        try {
                con = ConexionBD.obtenerConexion();
                String query = "select i.id, i.titulo, i.descripcion,i.estado,i.archivo,i.fecha,i.key1,i.key2,i.key3,i.key4,i.asesor,usuario_id "
                                + "from idea i "
                                +"left join usuario u on i.usuario_id=u.id "
                                +"where u.centro_info_id=?";
                System.out.println(query);
                stmt = con.prepareStatement(query);
                stmt.setInt(1, centroInfoId);
                rs = stmt.executeQuery();
                while (rs.next()) {
                        Idea vo = new Idea();
                        vo.setId(rs.getInt("id"));
                        vo.setTitulo(rs.getString("titulo"));
                        vo.setDescripcion(rs.getString("descripcion"));
                        vo.setEstado(rs.getString("estado"));
                        vo.setArchivo(rs.getString("archivo"));
                        vo.setFecha(rs.getDate("fecha"));
                        vo.setKey1(rs.getString("key1"));
                        vo.setKey2(rs.getString("key2"));
                        vo.setKey3(rs.getString("key3"));
                        vo.setKey4(rs.getString("key4"));
                        Usuario asesor=new Usuario();
                        asesor.setId(rs.getInt("asesor"));
                        vo.setAsesor(asesor);
                        vo.setId(rs.getInt("usuario_id"));
                        c.add(vo);
                }

        } catch (SQLException e) {
                System.err.println(e.getMessage());
                throw new DAOExcepcion(e.getMessage());
        } finally {
                this.cerrarResultSet(rs);
                this.cerrarStatement(stmt);
                this.cerrarConexion(con);
        }
        return c;
}

}
